package com.igeek.boot.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author jwj
 * @since 2023-12-26
 */
@Data
@TableName("warehouses")
@ApiModel(value="Warehouses对象", description="")
public class Warehouses implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "仓库ID（WarehouseID）：唯一标识每个仓库的ID")
    @TableId(value = "warehouseID", type = IdType.AUTO)
    private Integer warehouseID;

    @ApiModelProperty(value = "仓库名称（WarehouseName）：仓库的名称")
    @TableField("warehouse_name")
    private String warehouseName;

    @ApiModelProperty(value = "仓库类型（WarehouseType）：仓库的类型")
    @TableField("warehouse_type")
    private String warehouseType;

    @ApiModelProperty(value = "面积（Area）：仓库的面积")
    @TableField("area")
    private Integer area;

    @ApiModelProperty(value = "存储容量（StorageCapacity）：仓库的最大存储容量")
    @TableField("storage_apacity")
    private Integer storageApacity;

    @ApiModelProperty(value = "仓库的具体位置：对应高德api的formatted_location")
    @TableField("location")
    private String location;

    @ApiModelProperty(value = "仓库的城市信息")
    @TableField("city")
    private String city;

    @ApiModelProperty(value = "仓库的具体地址信息:新吴区巨蟹座")
    @TableField("address_detail")
    private String addressDetail;

    @ApiModelProperty(value = "仓库的创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "仓库的修改时间")
    @TableField(value = "update_time" ,fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "是否删除仓库信息")
    @TableLogic(value = "0",delval = "1")
    private Integer isDeleted;

    @ApiModelProperty("关联的货架信息")
    @TableField(exist = false)
    private List<Shelves> shelves;
}
